home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 21
/
AMIGAplus Sonderheft 21 (1999)(ICP)(DE)[!].iso
/
PublicDomain
/
Spiele
/
MUIMine
/
docfiles
/
MUIMineNL.doc
< prev
next >
Wrap
Text File
|
1999-08-23
|
24KB
|
528 lines
MUIMine V1.1 7 Februari 1999
------------ ---------------
Introductie.
------------
MUIMine is een mijnenveger spel zoals X-Mines op een X-Windows
machine of Minesweeper van MS Windows
Het doel van het spel is om de lege velden te onthullen en de
ondermijnde velden te markeren.
Kenmerken van MUIMine onder anderen:
- Bewaart de drie beste tijden voor ieder moeilijkheidsniveau.
- Niveau's kunnen door de gebruiker ingesteld en toegevoegd worden
en bestaande levels (inclusief de standaard niveau's kunnen
verwijderd of veranderd worden.
- De afbeeldingen in het spel staan in aparte bestanden zodat deze
naar wens aangepast of vervangen kunnen worden.
- MuiMine is freeware (wie zou er voor betalen?).
Systeemeisen:
- AmigaDOS V3.0 of hoger
- MUI V3.6 of hoger (MUIMine is ontwikkeld met MUI V3.8, met
gebruikmaking van de V3.6 autodocs. Het zou kunnen werken met
eerdere versies.
Auteursrechten en distributie
-----------------------------
De auteursrechten liggen bij de auteur van MUIMine, Geoffrey Whaite.
Het MUIMine archief mag worden verspreid zonder de toestemming van
de auteur zolang de volgende regels inacht genomen worden:
- Er wordt geen geld gevraagd, afgezien van een redelijke bijdrage
voor de verspreiding en service. Wat redelijk is wordt in dit
geval door de auteur bepaald.
- Het archief blijft onveranderd, met de volgende uitzonderingen:
. De broncode mag weggelaten worden om ruimte te besparen,
zolang er een tekstbestand ingesloten wordt met de uitleg dat
de broncode weggelaten is en waar deze verkrijgbaar is (bijv.
Aminet).
. Extra afbeeldingen mogen bijgesloten worden. Het
installatiescript mag hiervoor aangepast worden.
. Extra vertalingen mogen ingesloten worden en het
installatiescript mag hieraan aangepast worden
MUIMine is Freeware, er zijn geen kosten verbonden aan het gebruik
van MUIMine.
Broncode
--------
Vanaf V1.1 is de broncode van MUIMine in het aparte archief
'MUIMine-Src.lha' beschikbaar. Dit is omdat de broncode het grootste
deel van het 1.0 archief innam, en u zou dat niet allemaal moeten
hoeven downloaden als u alleen maar het spel wilt spelen.
Alhoewel de broncode vrijgegeven is en u de broncode mag veranderen
of delen ervan in uw eigen programma's mag gebruiken, vraag ik u om
geen gemodificeerde versie van MUIMine te verspreiden. Als u
veranderingen heeft aangebracht welke u waardevol acht, stuur deze
dan alstublieft naar de auteur voor gebruik in een nieuwere versie.
Dit is om de verwarring te voorkomen die zou ontstaan wanneer er een
aantal varianten van het programma verschijnen.
Het spel spelen
---------------
Het hoofdvenster
Het MUIMine hoofdvenster is in tweeën verdeeld, het bovenste
gedeelte is voor de status en bediening terwijl het onderste
gedeelte het mijnenveld is waar het spel eigenlijk gespeeld wordt.
Het status- en bedieningsgedeelte bestaat uit twee numerieke
schermpjes met daar tussenin een knop. Het linker numerieke
display toont het aantal mijnen in het mijnenveld die nog ontdekt
moeten worden. Het rechter numerieke display toont de tijd dat het
spel tot nu toe geduurd heeft (in seconden). De knop tussen de
numerieke schermpjes is voor het starten van een nieuw spel.
Het mijnenveld is een rechthoekig gebied gevuld met cellen, iedere
cel kan ondermijnd zijn. Het doel van het spel is te ontdekken
welke cellen ondermijnd zijn en deze ondermijnde cellen te
markeren en de niet ondermijnde cellen te bevrijden.
Het gebruik van de muis.
Een cel in het mijnenveld wordt bevrijd door erop te klikken met
de linker muisknop. Als u een ondermijnde cel probeert te
bevrijden, dan explodeert deze en verliest u het spel.
Als u een niet ondermijnde cel bevrijd, dan wordt met een nummer
in de cel aangegeven hoeveel omringende (zowel horizontaal,
verticaal als diagonaal) cellen ondermijnt zijn.
Als u de Shift-toets ingedrukt houdt, verandert de functie van de
linker muisknop. Terwijl de linker muisknop is ingedrukt worden
alle nog niet bevrijde buurcellen van de aangeklikte cel getoond,
zodat snel kan worden gezien welke cellen nog onbevrijd zijn.
Wordt de knop losgelaten boven een bevrijde cel, dan wordt er een
controle uitgevoerd om vast te stellen of alle ondermijnde
buurcellen van de cel zijn gemarkeerd. Als dat zo is, dan worden
de nog onbevrijde cellen bevrijd. Dit voorziet in een snelle
manier om de overgebleven onbevrijde cellen te bevrijden.
N.b.: de shifttoetsen worden gecontroleerd op het moment dat de
linker muisknop wordt ingedrukt en hun toestand wordt
vastgehouden zolang de muisknop is ingedrukt. De toetsen
loslaten of indrukken terwijl de muisknop al is ingedrukt
heeft geen effect.
Een cel kan worden gemarkeerd als ondermijnd door er met de
rechter muisknop op te klikken. Dit plaatst een vlaggetje op de
cel. De cel kan dan niet meer bevrijd worden. De markering kan
worden weggehaald door nog eens met rechts op de cel te klikken.
Vanaf v1.1 van MUIMine heeft de rechter muisknop hetzelfde
effect als de linker muisknop in combinatie met shift wanneer hij
wordt ingedrukt boven een al bevrijde cel. De onbevrijde en
ongemarkeerde buurcellen worden dus getoond bij indrukken en
worden bevrijd bij loslaten, mits het aantal gemarkeerde
omringende cellen overeen komt met het aantal omringende
ondermijnde cellen.
Het spel eindigt als ofwel een ondermijnde cel wordt bevrijd,
zodat het spel verloren wordt, of wanneer all vrije cellen in het
veld bevrijd zijn, zodat het spel gewonnen wordt.
Wanneer alle vrije cellen bevrijd zijn, zijn de overblijvende
cellen als ondermijnd gemarkeerd, aangezien dat de enige
overblijvende mogelijkheid is.
N.b.: de actie behorende bij de linker muisknop vindt plaats als
de knop wordt losgelaten en wordt toegepast op de cel die
zich op dat moment onder de muisknop bevindt. De actie
behorende bij de rechter muisknop op een onbevrijde cel
(markeren/markering verwijderen) vindt plaats wanneer de
knop wordt ingedrukt boven de onbevrijde cel. Wanneer de
rechter muisknop wordt ingedrukt boven een al bevrijde cel,
is de actie gelijk aan de linker knop samen met shift en
wordt toegepast als de muisknop wordt losgelaten.
Het gebruik van de menu's.
Er bevinden zich drie menu's in de menubalk:
Het spel-menu bevat de volgende keuzen:
. Start nieuw spel - Begint een nieuw spel, hetzelfde
als de startknop.
. Beste tijden tonen... - Opent het beste tijden venster,
waar de drie beste tijden voor
elk niveau worden getoond.
. Niveau's instellen... - Opent het niveau-editorvenster,
dat aanpassen, toevoegen en
verwijderen van
moeilijkheidsniveau's mogelijk
maakt.
. Afbeeldingen instellen... - Opent het venster waarin
afbeeldingen kunnen worden
gekozen die moeten worden
gebruikt voor het tekenen van de
verschillende vensterelementen.
. Velige start - Zet de veilige start optie aan
en uit. Waneer deze optie is
ingeschakeld, is de eerste cel
die wordt bevrijd in een spel,
evenals zijn buren, nooit
ondermijnd.
. Over... - Toont de titel, omschrijving en
auteursrechteninformatie over
het programma.
. Afsluiten... - Sluit het programma af.
Het niveau-menu waarin u aangeeft welk niveau u wilt spelen.
Het MUI-menu, dat keuzen bevat om MUI-informatie te tonen en om
de MUI-instellingen voor het programma aan te passen.
N.b.: om de rechter muisknop voor zowel de menu's als in het spel
te kunnen gebruiken, wordt het venster door het programma
ingesteld om rechter muisknop gebeurtenissen af te vangen
voor de applicatie tijdens het spelen (dus vanaf het moment
dat de speler voor het eerst de linker muisknop in het
mijnenveld indrukt totdat het spel is afgelopen), dus menu's
zijn dan niet beschikbaar. Om de menu's te gebruiken moet u
eerst het spel beëindigen door te winnen of te verliezen of
door het spel te herstarten door op de startknop te klikken.
Echter, MUI lijkt de gewoonte te hebben het afvangen van de
rechter muisknop gebeurtenissen uit te zetten. Ik weet niet
waarom het dat doet, maar ik vermoed dat het te maken heeft
met context menu's. Als oplossing voor dit probleem
schakelt MUIMine het afvangen van de rechter muisknop
opnieuw in wanneer een intuition-bericht wordt ontvangen
tijdens een spel. Het wordt ook opnieuw ingeschakeld wanneer
een spel-timer 'tik' plaatsvindt. Dit rekent af met de
situatie wanneer het afvangen van de rechter muisknop is
uitgeschakeld, zodat het intuition-bericht om het weer in te
schakelen niet wordt verstuurd. Was dat niet kristalhelder?
Wat dit allemaal betekent is dat het menu soms wordt
geactiveerd als u de rechter muisknop indrukt boven een cel.
Het programma zal dan echter snel de situatie rechtzetten.
Het beste tijden venster
------------------------
Het beste tijden venster kan worden geopend door de "Beste
tijden tonen..." menukeuze te selecteren in het Spel-menu. Het wordt
ook getoond als de speler een nieuwe beste tijd bereikt.
Dit venster toont de drie beste (snelste) tijden en de namen van
de spelers die deze tijden hebben neergezet voor elk moeilijkheids-
niveau. Het moeilijkheidsniveau wordt geselecteerd met de
rouleerknop bovenin het venster. De lijst onder de rouleerknop toont
de beste tijden voor het geselecteerde moeilijkheidsniveau en de
namen van de spelers die deze tijden hebben neergezet. Onderin het
venster zijn knoppen te vinden om het venster te sluiten, om de
tijden van het geselecteerde niveau te verwijderen en om de tijden
voor alle niveau's te verwijderen.
Het niveau-editorvenster
-------------------------
Het niveau-editorvenster kan worden geopend door de "Niveau's
instellen.." menukeuze te selecteren in het Spel-menu. Hier kan de
speler bestaande moeilijkheidsniveau's aanpassen, nieuwe toevoegen en
bestaande verwijderen.
Een moeilijkheidsniveau wordt gedefinieerd door de volgende
parameters:
. de breedte (in cellen) van het mijnenveld.
. de hoogte (in cellen) van het mijnenveld.
. het aantal mijnen in het mijnenveld.
De breedte en de hoogte van het mijnenveld moeten beide groter
zijn dan nul, hoewel in de praktijk alles kleiner dan vijf weinig
zinvol is. Het programma eist alleen dat deze parameters groter
zijn dan nul. Er moet ook voor worden opgepast het mijnenveld niet
te groot te maken om op het scherm te passen, anders zal het
hoofdscherm niet geopend kunnen worden.
Het aantal mijnen moet ook groter zijn dan nul, maar ook kleiner
dan het totale aantal cellen in het mijnenveld (de breedte maal de
hoogte). In de praktijk is het verstandig om het aantal mijnen
ergens tussen een achtste en een vijfde van het mijnenveld te
houden.
Elk niveau moet een unieke naam hebben, en er mogen geen
niveau's met gelijke waarden voor elk van de parameters zijn.
Linksboven in het venster staat de niveaulijst, waarin alle huidige
voor het programma gedefinieerde niveau's staan, elk met zijn
hoogte, breedte en aantal mijnen. U kunt in deze lijst een niveau
kiezen om zijn naam aan te passen en andere parameters te geven. U
kunt de lijst ook ordenen door de niveau's met de muis te verslepen
naar een andere plek. De volgorde van de niveau's in de lijst
bepaald de volgorde van de opties in het Niveau-menu en de volgorde
van de niveau's in de rouleerknop van het beste tijden venster.
Onder de niveau-lijst staan de tekstvelden die gebruikt worden om de
naam en de parameters van het uit de lijst geselecteerde niveau aan
te passen.
Aan de linker kant van het venster staat een aantal knoppen boven
elkaar. Deze voeren de volgende functies uit:
'Toevoegen' Voegt een nieuw niveau toe onderaan de
niveau-lijst, u zult nu de naam en de
niveau-parameters moeten invullen.
'Verwijderen' Verwijdert het huidig geselecteerde niveau
uit de lijst (mits er een geselecteerd
is).
'Ongedaan maken' Maakt de wijzingen ongedaan die zijn
gemaakt sinds het huidige niveau werd
geselecteerd uit de lijst.
'Alles ongedaan maken' Maakt alle wijzingen ongedaan die zijn
gemaakt sinds het Niveau editor venster
werd geopend.
'Ok' Bevestigt de veranderingen en sluit het
venster.
'Annuleren' Negeert alle veranderingen en sluit het
venster.
N.b.: De beste tijden informatie is gebonden aan de niveau
parameters (breedte, hoogte en aantal mijnen). Als u een of
meer van deze parameters veranderd, dan zult u uw beste tijden
informatie kwijtraken. Echter, als u een nieuw niveau hebt
aangemaakt of een bestaand hebt aangepast zodat het dezelfde
parameters heeft als het originele niveau, dan neemt dat niveau
de beste tijden van het origineel over.
De programma-afbeeldingen aanpassen
-----------------------------------
De afbeeldingen voor MUIMine zijn in aparte bestanden opgeslagen,
niet in het uitvoerbare bestand. Dit maakt het mogelijk de plaatjes
die in het programma gebruikt worden te veranderen zonder het
programma aan te passen of opnieuw te compileren. Het kan dat u dit
zou willen omdat u de standaard afbeeldingen niet mooi vind en iets
beters heeft, omdat u een scherm met weinig kleuren gebruikt en de
datatypes de kleuren van de originele afbeeldingen niet goed
afbeelden of een scherm met een andere hoogte/breedte verhouding
zoals een niet-interlaced scherm gebruikt.
Er worden drie soorten afbeeldingsbestanden gebruikt door MUIMine
(mijnenveld, gezichtknop en cijfers) en vier objecten die ze
gebruiken (het mijnenveld, de startknop, het schermpje dat laat zien
hoeveel mijnen er nog over zijn en het schermpje dat laat zien
hoeveel tijd er verstreken is). Elke klasse (knop, veld en display)
heeft zijn eigen standaard afbeelding die normaal gesproken bewaard
worden in de 'images' sub-lade van de programmalade, maar ook in de
programmalade mogen staan. Als er standaard afbeeldingen in de
programmalade staan, dan zal het programma deze bij voorkeur
gebruiken. U kunt dus nieuwe afbeeldingen testen zonder de oude te
overschrijven.
Elke grafisch bestand bevat alle afbeeldingen voor een 'MUI custom
class' en bestaat uit een aantal plaatjes van hetzelfde formaat in
een horizontale baan. De klassen gebruiken het formaat van de
afbeeldingen om te bepalen hoe groot ze moeten worden op het scherm.
Dit betekent dat de breedte van de complete afbeelding een exact
veelvoud van het aantal plaatjes dat de klasse gebruikt moet zijn.
De drie standaard afbeeldingsbestanden zijn:
def_MineFieldImage - de afbeeldingen voor het mijnenveld. Er zijn
zestien plaatjes in dit bestand, te weten
(vanaf links):
1. onbevrijde cel
2. aangeklikt
3. dit plaatje wordt getoond als er een
probleem is met de cel, zoals
onvoldoende geheugen om de data van de
cel op te slaan
4. gemarkeerde cel
5. onterecht gemarkeerde cel
6. ondermijnde cel
7. ontplofte mijn
8. bevrijde cel met geen enkele ondermijnde
buurcel
9. bevrijde cel met 1 ondermijnde buurcel
10. bevrijde cel met 2 ondermijnde
buurcellen
11. bevrijde cel met 3 ondermijnde
buurcellen
12. bevrijde cel met 4 ondermijnde
buurcellen
13. bevrijde cel met 5 ondermijnde
buurcellen
14. bevrijde cel met 6 ondermijnde
buurcellen
15. bevrijde cel met 7 ondermijnde
buurcellen
16. bevrijde cel met 8 ondermijnde
buurcellen
def_FaceButtomImage - de afbeeldingen voor de startknop met het
'lachebekje'. Er zijn vijf plaatjes in dit
bestand, te weten (vanaf links):
1. het normale plaatje wanneer de knop
niet is ingedrukt
2. het plaatje wanneer de knop is
ingedrukt
3. alternatief plaatje voor wanneer de
linker muisknop is ingedrukt in het
mijnenveld.
4. alternatief plaatje voor wanneer een
spel gewonnen is
5. alternatief plaatje voor wanneer een
spel verloren is
def_DigitsImage - de afbeeldingen voor de cijfers van de
numerieke schermpjes. Er zijn twaalf plaatjes in
dit bestand, te weten (vanaf links):
1. plaatje voor een blanko positie
2. plaatje voor het cijfer '0'
3. plaatje voor het cijfer '1'
4. plaatje voor het cijfer '2'
5. plaatje voor het cijfer '3'
6. plaatje voor het cijfer '4'
7. plaatje voor het cijfer '5'
8. plaatje voor het cijfer '6'
9. plaatje voor het cijfer '7'
10. plaatje voor het cijfer '8'
11. plaatje voor het cijfer '9'
12. plaatje voor het minteken
U kunt andere afbeeldingsbestanden opgeven via de tooltypes in
het icoon van MUIMine. De tooltypes zijn:
MINEFIELDIMAGE=<bestand voor het mijnenveld>
STARTBUTTONIMAGE=<bestand voor de startknop>
MINESDIGITSIMAGE=<bestand voor het aantal overgebleven mijnen>
TIMEDIGITSIMAGE=<bestand voor de verstreken tijd>
Deze bestanden kunnen vanuit het programma worden
geselecteerd via de menukeuze "Afbeeldingen instellen..." uit het
Spel-menu.
Let op dat u het juiste type afbeeldingsbestand gebruikt voor
elk object. Als een object het gespecificeerde bestand niet kan
gebruiken, dan zal het in plaats daarvan het standaard bestand
voor haar klasse gebruiken.
Programmainformatie
-------------------
MUIMine is geschreven door Geoffrey Whaite die bereikt kan
worden via
email: gwhaite@accsoft.com.au
post: 84/19A Tusculum Street
Potts Point, NSW,
Australia
MUIMine is sterk beïnvloed door het Windows Mijnenveger programma,
ik gebruik Windows op mijn werk, dus ik speel die versie vaak en
ik vind de manier waarop hij werkt prettig. De afbeeldingen die
geleverd worden bij MUIMine zijn een bijna directe "rip off" van
de Windows versie.
Met dank aan Christian Hattemer voor al zijn bug-meldingen en
suggesties.
Deze toepassing gebruikt
MUI - MagicUserInterface
(c) Copyright 1993-96 Stefan Stuntz
MUI is een systeem voor het genereren en beheren van grafische
gebruikersinterfaces. Met de hulp van een voorkeureneditor kan de
gebruiker het uiterlijk van zijn applicaties aanpassen aan zijn eigen
smaak.
MUI is shareware. Een compleet pakket dat een heleboel voorbeelden en
meer informatie over registratie bevat kunt u vinden in een bestand met
de naam "muiXX.lha" (waar XX voor het nieuwste versienummer staat) op uw
lokale BBS-en of op public domain disks.
Als u direct wil registreren, dan kunt u ook
DM 20.- of US$ 15.-
sturen naar
Stefan Stuntz
Eduard-Spranger-Strasse 7
80935 München
DUITSLAND
Ondersteuning en online registratie is beschikbaar op
http://www.sasg.com/
Geschiedenis
------------
V1.0 (28/11/98)
- Eerse publieke versie
V1.1 (22/12/98)
- Bug gerepareerd. Probleem opgelost met de opmaak van de het
info-venster van het programma, dat ervoor zorgde dat de
vermelding van de vertaler niet werd getoond. De opmaak van het
venster is ook gereorganiseerd en de de omscrijvingsstring van
het programma is gelocaliseerd. Dank aan Christian Hattemer voor
de melding van de bug en suggesties.
- Verbetering. U kunt nu de rechter muisknop gebruiken om alle
onbevrijde buurcellen te bevrijden van cellen die evenveel
gemarkeerde als ondermijnde buren heeft. Vroeger kon dat alleen
door de shifttoets te gebruiken in combinatie met de linker
muisknop (deze methode is nog steeds beschikbaar). Dank aan
Denis Zwornarz voor deze fantastische suggestie.
- Verbetering. Een "Veilige start" optie is geïmplementeerd,
waarbij wordt gezorgd dat de eerste cel die wordt bevrijd nooit
ondermijnd is, evenals zijn buurcellen. Deze optie is opgeslagen
als een tooltype (SAFESTART) in het programmaicoon en is
selecteerbaar via een menukeuze met een vinkje. Dank aan
Christian Hattemer voor deze suggestie.
- Verbetering. De afbeeldingsbestanden de gebruikt worden voor
de plaatjes in het hoofdscherm (het mijnenveld, de startknop,
het schermpje dat aangeeft hoeveel mijnen er nog over zijn en
het schermpje dat aangeeft hoeveel tijd is verstreken) kunnen nu
worden opgegeven via tooltypes en worden geselecteerd vanuit het
hoofdprogramma door middel van een afbeeldingen selectie
venster. Dit betekende ook dat de routines voor de afhandeling
van bitmaps in de custom classes die ze gebruiken moest worden
herschreven, zodat de bitmaps veilig kunnen worden veranderd als
het programma draait. De code die de afbeeldingsbestanden
localiseert is ook aangepast, zodat het programma de bestanden
kan vinden als de programmalade een andere is dan de huidige
lade.
- Verbetering. Gebruikt nu het programmaicoon voor het appicoon
in plaats van het standaard MUI appicoon. Dit is een direct
gevolg van het feit dat het icoon geladen moet worden om de
tooltypes te benaderen.